home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / gfx / show / Easy_MPEG105.lha / Easy_MPEG / Easy_MPEG.doc < prev    next >
Text File  |  1995-04-28  |  31KB  |  667 lines

  1.  
  2.  
  3. =======================================================================
  4. =======================================================================
  5.  
  6.            Easy_MPEG Version 1.03  -  MPEG for the masses...
  7.  
  8. =======================================================================
  9. =======================================================================
  10.  
  11.  
  12.  
  13. by ME: *******************************************************************
  14.  
  15. Scott Tribbey
  16. 885 N.W. 45th Street
  17. Pompano Beach FL, 33064
  18.  
  19. or
  20.  
  21. 4600 Glenwood Drive
  22. Coconut Creek Fl, 33066
  23.  
  24.  
  25. Internet Address:  secrd2@gate.net    OR    TRIBB@DELPHI.COM
  26.  
  27.  
  28. If you have any problems, suggestions, or would just like to say thanks,
  29. feel free to contact me.  It would be nice to hear that this is useful
  30. to someone aside from myself.
  31.  
  32.  
  33.  
  34. CREDIT: ***************************************************************
  35.  
  36. This package is the result of the combined effort of a number of
  37. talented programmers (including me).  I wrote this Arexx program in
  38. order to make MPEG easier to use for myself, and accessible to those
  39. who might wish to use it like any other WorkBench program.  The
  40. arprexxlib.library was of great help in accomplishing this goal.
  41.  
  42. This is my first Arexx program. Although I have programmed in "C" for
  43. years now, if I wrote this in "C", it would have taken much longer,
  44. and been a much bigger program.  Also, the Arexx program is easier
  45. to modify for me and anyone else who has special needs.
  46.  
  47. This is a great example of the power that can be had using Arexx.
  48. Do yourself a favor... LEARN IT!!!
  49.  
  50.  
  51.  
  52. WHATISIT: *************************************************************
  53.  
  54. Easy_MPEG.rexx is an Arexx program that will automatically generate
  55. MPEG format video files from a sequence of IFF frames that have been
  56. generated or are being generated by a rendering program or other graphics
  57. application.  Easy_MPEG sports an Intuition interface for ease of use
  58. and easily recovers after being interrupted.
  59.  
  60. If 100 to 1 compression whets your appetite, read on...
  61.  
  62. Also note that programs like this are only beginning to come out on other
  63. platforms like the PC.  In fact XING Technology Corp. has one for the PC
  64. that is selling for around $1000, gimme a break!
  65.  
  66. I haven't even seen one for the MAC yet.  Just another reason that Apple
  67. was stupid for not including a command line interface in their operating
  68. system.  Us Amiga people can use the Unix stuff almost without
  69. modification while the MAC mavens have to wait for someone to write a
  70. nice little interface for it and then pay through the nose to get it.
  71.  
  72.  
  73. DISCLAIMER: ***********************************************************
  74.  
  75. +----------------------------------------------------------------------+
  76. |                                                                      |
  77. |                  D I S C L A I M E R   N O T I C E                   |
  78. |                                                                      |
  79. |  I make no warranty,                                                 |
  80. |  express or implied, or assume any liability or responsibility for   |
  81. |  accuracy,  completeness or  usefulness of any information, appara-  |
  82. |  tus, product or process disclosed, or represent that its use will   |
  83. |  not infringe privately-owned rights.  Mention of any product,  its  |
  84. |  manufacturer, or suppliers shall not, nor is it intended to, imply  |
  85. |  approval, disapproval, or fitness for any particular use. I retain  |
  86. |  the right to use and disseminate same for any purpose whatsoever.   |
  87. |                                                                      |
  88. +----------------------------------------------------------------------+
  89.  
  90. In other words...
  91.  
  92. If you should happen to run this program on a computer used by
  93. the defense department to target nuclear warheads and the system
  94. goes berzerk sending 1500 megatons of kaboom down on Sadaam Husein's
  95. head...  It's not my fault.  ( not that he would be a loss )
  96.  
  97. Or...
  98.  
  99. If anything bad happens when using this program, it's not my fault
  100. I will not be held responsible.  Use this software at your own risk.
  101.  
  102. However, I can say that no one or thing has been injured due to the
  103. use of this software up to this point.
  104.  
  105.  
  106.  
  107.  
  108. COPYRIGHT: ************************************************************
  109.  
  110.  
  111.                    Easy_MPEG.rexx   Version 1.00
  112.                    ==============================
  113.  
  114.                         Copyright (C) 1994
  115.  
  116.                                 by
  117.  
  118.                          Scott A. Tribbey
  119.  
  120.                        ( all rights reserved )
  121.  
  122.  
  123. This program is not Public Domain, it is Freeware.  I charge no fees
  124. for its use by private individuals.  However, it is not to be sold
  125. in any form without prior written authorization from Scott A. Tribbey.
  126.  
  127. This software may not be used for any commercial venture without
  128. prior written consent from Scott A. Tribbey
  129.  
  130.  
  131.  
  132. REQUIREMENTS: *********************************************************
  133.  
  134. Amiga   -   68020 or better with 68881 or better FPU
  135.             Actually I'm not sure about this, but I've never tried
  136.             running this on anything less.  Even if you can run it
  137.             on a 68000, it will crawl, and so will your graphics
  138.             program.
  139.  
  140. AREXX   -   If you don't have Arexx then don't bother reading on.  Just
  141.             go out and get the AmigaDOS 3.1 upgrade, and then continue
  142.             reading
  143.  
  144. Memory  -   Gobs...  I would suggest at least 6 MEGS of ram.  More is
  145.             always better.  I have 14 MEGS and I'd like more.
  146.             For even better results use a virtual memory program like
  147.             VMM or Gigamem if you have a 68030 or '040.
  148.  
  149. Priority -  The Easy_MPEG program must be run at a priority equal to or
  150.             higher than the rendering program that is producing the
  151.  
  152.             IFF files.  For instance, set the rendering program for a
  153.             priority of -5 and leave the shell where Easy_MPEG will
  154.             be run from, at the standard priority of 0.
  155.  
  156. Stack -     I'm not really sure what the stack requirements are for
  157.             mpeg_encode program, but just to be safe, I run it with a
  158.             stack of 20000 bytes.  I suggest you do the same.
  159.  
  160. Run & Wait  -   Easy_MPEG makes use of these AmigaDOS commands, so
  161.                 make sure they are in your C: directory...
  162.                 They certainly should be!
  163.  
  164. rexxsupport.library - This library is also required.  It is a standard
  165.                       part of the Arexx installation so you should
  166.                       already have it in you LIBS: directory
  167.  
  168. rexxarplib.library - This is used to create the GUI for Easy_MPEG thus
  169.                      making it easy.  It should be in your LIBS: directory
  170.                      See below for more.
  171.  
  172. arp.library - Required by functions in the rexxarplib.library
  173.  
  174.  
  175. ixemul.library - The runtime library needed for executables compiled by the
  176.                  GCC C compiler.  This library is required by mpeg_encode
  177.  
  178.  
  179.  
  180.  
  181. INCLUDED PROGRAMS: *******************************************************
  182.  
  183. Included in this archive are several files from other archives that are
  184. necessary for this package to be useful.
  185.  
  186. mpeg_encode -   The freely redistributable MPEG encoder from Berkley
  187.                 University compiled for the Amiga with the GNU
  188.                 GCC 2.5.8 'C++' compiler
  189.  
  190.                 There are other MPEG encoder engines out there such as
  191.                 the one from Stanford University, but I chose the
  192.                 Berkley version for its ability to encode the MPEG
  193.                 file in chunks (GOPS), making it perfect for compressing
  194.                 an animation while it's being generated.
  195.  
  196.                 (I modified this version slightly to get rid of an
  197.                 annoying problem the program was having while
  198.                 searching for a Unix shell file)
  199.  
  200. 24toPPM     -   Actually, I don't know where this came from, but it is
  201.                 about the fastest 24 bit IFF to PPM converter I've seen
  202.                 This program is used to convert the IFF files to PPM
  203.                 format since this is the image format that the
  204.                 mpeg_encode program expects.
  205.  
  206. ILBMtoPPM   -   This was taken from the NetPBM package, another excellent
  207.                 piece of software.  It will convert IFF files of any format,
  208.                 but it is much slower than 24toPPM It is here because the
  209.                 program uses it if 24toPPM fails due to the input frames
  210.                 being something other than IFF-24 format, like HAM8.
  211.  
  212. rexxarplib.library  -  An absolutely excellent library of functions for
  213.                        arexx programs.  My applause to W.G.J. Langeveld
  214.                        at the Stanford Linear Accelerator Center for
  215.                        really adding to the usefulness of Arexx.
  216.  
  217.  
  218. SETUP: ****************************************************************
  219.  
  220. 1 - COPY rexxarplib.library TO LIBS:
  221. 2 - COPY ixemul.library TO LIBS:
  222. 3 - COPY all the other files to a directory of your choice.
  223.  
  224. Gee... that was easy
  225.  
  226.  
  227.  
  228. DESCRIPTION: **********************************************************
  229.  
  230.  
  231. So, maybe you've seen those MPEG encoders floating around the networks
  232. and you're wondering to yourself... "Hmmm, what the heck is MPEG?"
  233.  
  234.  
  235. What is MPEG and why should you use it?
  236.  
  237. Well, MPEG is quickly becoming a standard in motion video compression.
  238. MPEG is a lossy compression scheme based on a technology similar to
  239. that used for JPEG still image compression.  However, MPEG is also
  240. much more sophisticated than JPEG for motion compression and allows
  241. for compression ratios of 50,100,150 to 1, or more.  The disadvantage
  242. to MPEG is that it is extremely computationally intensive and for that
  243. reason does not play back at fast frame rates without dedicated
  244. decompression hardware.  It will play back on the Amiga 4000/040 at up
  245. to 20 frames per second with small frames.  However, the play back
  246. hardware necessary to view the MPEG files is becoming more available.
  247. Commodore's own CD32 MPEG module is one, and the Reel Magic card for the
  248. P.C. (yech!) costs only around $300 for the Lite version.  So, MPEG might
  249. be worth looking into if you would like to create some long animations
  250. and don't have a 1.5 Gigabyte hard drive.
  251.  
  252.  
  253.  
  254. USAGE: ****************************************************************
  255.  
  256.  
  257. Easy_MPEG is intended to be just that... Easy.  I will explain some of
  258. the more esoteric features below, but this is not intended to be an
  259. exhaustive explanation of the fine points of MPEG compression.  The
  260. intuition interface of Easy_MPEG allows the user to adjust most of the
  261. basic parameters for making an MPEG file and a few of the high level
  262. compression options for those a bit more bold.
  263.  
  264.  
  265. First... how to get started.
  266.  
  267. Easy MPEG is launchable from the shell with command line parameters.
  268. If no parameters are given, it will present a nice window full of
  269. gadgets for the user to enter data in.
  270.  
  271. Not all of the available parameters can be entered from the command line
  272. at this time, because I intended for this to be an easy to use program
  273. with an Intuition interface.  However, if you wish to change some of the
  274. options like PATTERN and Quantization, then you can change them from the
  275. Intuition interface, interrupt the program and then call it back up
  276. with command line parameters for the basic framename and such.  I suppose
  277. this would be useful if you want to call Easy_MPEG from some other script.
  278.  
  279. REMEMBER TO SET THE SHELL STACK TO AT LEAST 20000 USING THE STACK COMMAND.
  280.  
  281. Command line parameter launch:
  282. ==============================
  283.  
  284. Usage: rx Easy_MPEG Base_Frame_Name Start End Xdim Ydim
  285.                     OutFileName Delay DelOldFrames
  286.  
  287.        Example: rx Make_MPEG dh0:IFF/Frame. 0000 0030 352 240 Movie 30 YES
  288.                 creates Movie.mpg from the files
  289.                 dh0:IFF/Frame.0000 through dh0:IFF/Frame.0030
  290.                 resolution is 352 by 240, directory scanning every 30 sec.
  291.                 old frames will be deleted
  292.  
  293. NOTE:
  294. Typing rx Easy_MPEG ? will print a usage example like that above
  295. and exit.
  296.  
  297.  
  298. Stay tuned for the meaning of these options...
  299.  
  300.  
  301.  
  302. Intuition interface launch:
  303. ===========================
  304.  
  305. To start the program, just open a shell, CD to the Easy_MPEG directory
  306. and type 'rx Easy_MPEG' at the prompt
  307.  
  308. After a short delay, you will see a display of information in the shell
  309. window, and and intuition interface window will pop up with numerous gadgets.
  310.  
  311. After clicking a gadget or entering data into a string gadget, the status
  312. display in the shell window will update, displaying the current settings
  313. the program will use to operate.
  314.  
  315.  
  316. The Gadgets...
  317.  
  318. Frame Name:   This gadget is used to enter the BASE frame name for the IFF
  319.               files that are to be encoded.  Easy_MPEG expects that the
  320.               output files will be something of the form BlahBlah.000
  321.               where BlahBlah can be any combination of letters, numbers,
  322.               and punctuation and 000 can be any number as long as the
  323.               program that produces the frames numbers them sequentially.
  324.  
  325.               In other words, the program expects to see a series of frames
  326.               like Pic.00000  Pic.00001  Pic.00002 .... Pic.00356
  327.  
  328.               If your graphics program doesn't do that (most of them do) then
  329.               you could write an Arexx program to handle it for you.
  330.  
  331.               The numbers don't have to start with 0, it could be anything...
  332.               0012, 05, 000000567, etc.
  333.  
  334.               Also, the period separating the name and the number is not
  335.               necessary, it's just how some programs number their output
  336.               frames.
  337.  
  338.               Now the important thing to remember here is that this gadget
  339.               only wants the BASE frame name not the number portion.  So an
  340.               example might be Pic.  or  DinosaurFrame  or  Stupid_Pic_No.
  341.  
  342.               Notice how the 0000 is not included at the end of the
  343.               frame name.
  344.  
  345. Input Dir:    This gadget is where you enter the directory where the frames
  346.               exist or are going to be saved when they are generated.
  347.  
  348.               This should be self explanatory.  An example might be
  349.  
  350.               Imagine:Projects/BigGiant.imp/RayTrace.pix/
  351.  
  352.               Remember to include the "/" at the end of the string when
  353.               typing directly into this gadget.
  354.  
  355.               NOTE:  BECAUSE OF AN IDIOSYNCRACY IN THE MPEG_ENCODE PROGRAM,
  356.               THE INPUT FILES MUST RESIDE AT LEAST ONE DIRECTORY LEVEL DOWN
  357.               FROM THE ROOT DIRECTORY.  IN OTHER WORDS,  HAVING YOUR IFF
  358.               FILES IN "WORK:INPUT/" IS OKAY, BUT HAVING THEM IN "WORK:" IS
  359.               NOT.  THIS ALSO GOES FOR ASSIGNMENTS.  IF YOUR FILES ARE IN
  360.               "DH0:FILES/" WHICH IS ASSIGNED TO "ANIMATION-FRAMES:", USE
  361.               THE ACTUAL PATH NOT THE ASSIGNMENT!
  362.  
  363.               THE PROBLEM IS THAT THE MPEG_ENCODE PROGRAM PLACES A "/" AT
  364.               THE END OF ITS INPUT DIRECTORY PARAMETER WHEN SEARCHING FOR
  365.               FILES.  SINCE DH0:/ MEANS NOTHING TO AMIGADOS, THIS CAUSES
  366.               THE PROGRAM TO FAIL.
  367.  
  368.  
  369. File
  370. Requester:    Aren't you glad I included this. You can use the File requester
  371.               to find the frame name and input directory your looking for.
  372.               Just remember to backspace over the numeric portion of the
  373.               name before pressing OK.  Do not just double click on the file
  374.               name.
  375.  
  376.  
  377. Start Frame:  This is where you enter the string representing the numeric
  378.               portion of the first frame to be compressed.  In this gadget,
  379.               0000 is not equivalent to 00.  The program uses the number and
  380.               the length of the string to properly format the file names it
  381.               is looking for.  If your program puts out file names that have
  382.               four digits at the end, then enter four digits in this gadget.
  383.  
  384.  
  385. End Frame:    This is where you enter the string representing the numeric
  386.               portion of the last frame to be compressed.  The number of
  387.               digits entered must be equal to the number of digits entered
  388.               in the Start Frame gadget.
  389.  
  390.  
  391. Resolution X: This is where the Horizontal resolution of the output frame
  392.               must be entered.  For instance, 128... 160... 352..., etc.
  393.  
  394.            Y: Vertical resolution is entered here.  96, 120, 240, etc.
  395.  
  396.            Common MPEG resolutions are 128x96, 160x120, and 352x240(SIF)
  397.            352x240 is the standard NTSC video resolution for MPEG
  398.  
  399.            NOTE:  HORIZONTAL AND VERTICAL RESOLUTIONS MUST ALWAYS BE
  400.                   MULTIPLES OF 16 BECAUSE OF THE WAY THAT THE MPEG PROCESS
  401.                   ENCODES INFORMATION.  IF THE RESOLUTION IS NOT A MULT.
  402.                   OF 16, IT'S NOT FATAL, THE ENCODER WILL JUST TRUNCATE
  403.                   PORTIONS OF THE FRAME.
  404.  
  405.  
  406.            MAKE SURE THAT THE CORRECT DATA IS ENTERED HERE, OR THE MPEG
  407.            FILE WILL BE A MESS.
  408.  
  409.            These numbers are only used during the last stage of the program
  410.            when all the smaller portions of the MPEG file are being combined.
  411.            So if you notice that these numbers are wrong, then interrupt the
  412.            program while it is waiting for frames, start it again and enter
  413.            the correct numbers.
  414.  
  415.  
  416.  
  417. The next two variables are the only ones that really affect the compression
  418. level of the program.
  419.  
  420. Quant. Scale: Quantization Scale is one of those variables controlling a
  421.               more esoteric feature of the compression process.  The numbers
  422.               entered in the I, P, and B gadgets must be between 1 and 31.
  423.               Compression is higher for higher numbers, but quality goes down
  424.               as the numbers get higher.  There are three separate numbers
  425.               for I, P, and B type frames.  Each number affects the
  426.               compression level of the appropriate frame type I, P or B.
  427.               This will be further explained below in the Frame Pattern
  428.               section.
  429.  
  430.               If you have no idea what I'm talking about, use standard
  431.               numbers like 2,4,6 and you'll be just fine.
  432.  
  433.  
  434. Frm Pattern:  Frame Pattern is the repeating pattern that will be used to
  435.               encode the IFF files.  This controls the number of frames that
  436.               Easy_MPEG will wait for before encoding a portion of an MPEG
  437.               file called a GOP (Group of Pictures).  Be aware that larger
  438.               patterns will cause the mpeg_encode program to use more memory.
  439.               So, if you don't have a lot of memory, I would suggest a pattern
  440.               of no more that four characters.  Although you can use only 1
  441.               if you wish.  Enter the pattern in capital letters.
  442.  
  443.               There are three different types of frames in an MPEG file.
  444.  
  445.               I frames are the reference frames that MPEG uses to predict
  446.               the motion of objects from frame to frame.  This is similar to
  447.               the concept of a key frame in animation.  The compression of I
  448.               frames is similar to JPEG compression for still images.
  449.  
  450.               **** THE PATTERN MUST ALWAYS START WITH LEAST ONE I.
  451.  
  452.               P frames are frames that MPEG predicts from previous I frames.
  453.               These frames get significantly higher compression than I frames
  454.               because most of the information for the frame is predicted from
  455.               the previous frame.  This can be a disadvantage when a frame is
  456.               filled with fast moving objects.  If the P frame can not
  457.               properly locate where a portion of the image should be, then
  458.               small blocks of the object may seem out of place in a particular
  459.               frame.  Also, if a very short duration event like the flash out
  460.               of the end of a gun takes place during what is being encoded as
  461.               a series of P or B frames, it will not show up at all, since
  462.               it was not in the previous or succeeding I frames.
  463.  
  464.               B frames are predicted from the previous and following frames.
  465.               B frames achieve even higher compression than I or P.  However,
  466.               the same disadvantage exists as for P frames.
  467.  
  468.               **** DO NOT END YOUR PATTERN WITH A B SINCE THE FOLLOWING
  469.                    FRAME WILL NOT BE AVAILABLE WHEN THE GOP IS ENCODED.
  470.  
  471.               This option really takes time and understanding to use properly,
  472.               so I've included some example patterns that you can use.
  473.  
  474.  
  475.               IIII  -   Encodes the MPEG file with only I frames, this will
  476.                         provide the highest quality, but lower compression.
  477.                         Compression of 20 to 1 is easily attained with this
  478.                         pattern.
  479.  
  480.               II    -   Same as above, but uses less memory during compression.
  481.  
  482.               IP    -   Achieves greater compression but be careful with
  483.                         fast motion.
  484.  
  485.               IPBP  -   (Default) Still better compression, but once again
  486.                         be careful with fast moving objects.  I use this
  487.                         pattern quite often with excellent results.  Using
  488.                         Quantization scale numbers of 2,4,6, and this pattern,
  489.                         I recently compressed an animation from 11.2 megs to
  490.                         114k with virtually no loss of quality.  That's
  491.                         100 to 1 compression for those of you without
  492.                         calculators.
  493.  
  494.               IPBBPBBP - This is a standard pattern that I have seen used
  495.                          in several different MPEG applications.  It will
  496.                          require a fair amount of memory though.
  497.  
  498.  
  499.               Enough about this, if you don't understand, than use IPBP as
  500.               your pattern and you should be just fine.
  501.  
  502.  
  503.               HINT HINT ....
  504.  
  505.               Easy_MPEG is excellent for use with Virtual memory systems like
  506.               VMM.  Using a VM system with an mpeg encoder allows you to use
  507.               a significant amount of memory for the encoder without having
  508.               to limit the memory requirments of a running rendering program
  509.               like Imagine or Lightwave.
  510.  
  511.  
  512. Out File:     Well, this one's easy.  All you need to enter here is the name
  513.               of the MPEG file to be created.  The MPEG file will be placed
  514.               in the directory of the original IFF frames with the extension
  515.               .mpg which is the standard extension for Amiga, PC, and Unix
  516.               MPEG files.  So if you enter BigGiantMovie in this gadget, the
  517.               MPEG file BigGiantMovie.mpg will be placed in the Input Dir. Of
  518.               course, if you want this file to be used on other platforms,
  519.               it would be best to keep the filename to 8 characters or less.
  520.  
  521.  
  522. Dir. Scan:    This option specifies the amount of time the program will sit
  523.               around waiting before checking to see if enough new frames have
  524.               been generated to produce a GOP.  Remember, if your pattern is
  525.               IPBP then four new frames must be complete for the mpeg_encode
  526.               program to produce a GOP.  So, if you type 60 into this gadget,
  527.               then the program will check the Input Dir. every 60 seconds for
  528.               the existence of the necessary IFF files.
  529.  
  530.               If your animation program spits out a frame every 30 minutes,
  531.               then don't set your delay for 5 seconds, your just wasting
  532.               processing time.  A more reasonable value would be maybe 60 or
  533.               120 seconds.  Also, don't set this parameter for 350000 seconds,
  534.               as you don't want Easy_MPEG sitting around doing nothing for
  535.               350000 seconds if the last frame just completed rendering.
  536.  
  537.               In the case where the full animation has already been produced,
  538.               the just set this value to 1 and the compression will
  539.               proceed uninterrupted. I would not advise setting this to
  540.               0 at any time, as it may become difficult to break out of
  541.               the loop.
  542.  
  543.               Actually what Easy_MPEG does is to check for the existence of
  544.               the frame just following the last one in the GOP to be encoded.
  545.               In other words, if Easy_MPEG is waiting for Pic.0000 through
  546.               Pic.0003 then it actually checks to see if Pic.0004 exists
  547.               (although it doesn't have to been complete yet).  Easy_MPEG
  548.               then assumes that the previous frames are done and compresses
  549.               them into a GOP.  If the last GOP is being produced, then
  550.               Easy_MPEG will check to see if the last frame is actually
  551.               completed before proceeding with the encoding.  The GOP files
  552.               will have the extension .gop and are only stored until the
  553.               final MPEG file is produced at which time they are deleted.
  554.  
  555.  
  556. Del.Old Frames - This gadget will toggle the state of the DelOldFrms line in
  557.                  the shell window when pressed.  If this option has a YES
  558.                  next to it then the original IFF frames will be deleted
  559.                  after producing a GOP.  This option is great when you want
  560.                  to produce a large animation but don't have a huge hard
  561.                  drive.  However, make sure that you have the MPEG parameters
  562.                  just the way you want them, because you'll have to regenerate
  563.                  all the frames if you don't get what you want the first
  564.                  time.  If you're really not sure and have all the hard drive
  565.                  space you need, then just set this option to NO and the
  566.                  original IFF frames will be left in the Input Directory.
  567.                  That way you can try different encoding parameters until
  568.                  you get just what you want.
  569.  
  570. Quit Program - What do you think!  Hmmm... I'll just bet the program quits
  571.                if you click this button.  The window CLOSE gadget will also
  572.                have the same effect.
  573.  
  574. Start Scanning - This is it!  You've set all the parameters correctly and
  575.                  you're ready to go.  Press this button and it's all
  576.                  automatic.  Come back in a few minutes, hours or days and
  577.                  Presto!, your MPEG file is complete!  You'll notice that
  578.                  the Intuition window disappears when you press this button.
  579.  
  580.                  From here until the MPEG file is complete, the shell window
  581.                  tells you everything.  The status display is mainly a
  582.                  summary of the parameters you fed to the program, but is
  583.                  also tells you how many GOPS have been produced out of the
  584.                  total number and the percentage complete.
  585.  
  586.                  While Easy_MPEG is waiting for frames, it will occasionally
  587.                  print messages telling you what frame it is waiting for.
  588.                  During this time it is safe to press the CONTROL-C key
  589.                  combination to halt the program.  Easy_MPEG will recover
  590.                  from this when you run it again.  In fact, I envisioned
  591.                  that this feature might be used fairly often, so the program
  592.                  writes a file called MPEG.settings every time it is run, and
  593.                  reads it every time it is started up.  This allows you to
  594.                  start the program from where you left off without having
  595.                  to enter any data.  The program will start up with the same
  596.                  parameters you entered last time.  All you need to do is
  597.                  press the Start Scanning button and the program will tell
  598.                  you how many GOPS are complete and continue waiting for the
  599.                  rest.
  600.  
  601.                  When Easy_MPEG has found the frames it is waiting for, it
  602.                  will start the encoding process.  During this period of time,
  603.                  you will see the actual encoding process taking place.
  604.                  First of all, the frames all have to be converted to a
  605.                  graphics file format called PPM.  Then the PPM files are
  606.                  fed to the mpeg_encode program.  During the encoding
  607.                  process, do not interrupt the program.  You may have trouble
  608.                  starting over where you left off if you interrupt the
  609.                  program during any time other then when it is waiting for
  610.                  IFF frames.
  611.  
  612.  
  613.  
  614. Completion  - Upon completion, Easy_MPEG will display a little
  615.               "Processing Complete" box with an OK button for you to click.
  616.  
  617.  
  618.  
  619. NOTE:   You will notice that during each session, Easy_MPEG writes a
  620.         file called BlahBlah.param to its home directory.  This file
  621.         is a special file that contains all necessary parameters for
  622.         the mpeg_encode program to work.  The mpeg_encode program
  623.         uses this file to figure out what to do with the incoming
  624.         PPM files.  The name of the .param file is actually the name
  625.         of the Output MPEG file with .param on the end.  For instance
  626.         if you specified BigMovie as your Output file name, then the
  627.         parameter file would be called BigMovie.param.
  628.  
  629.         These .param files only take up about 500 bytes or so, but
  630.         as you work with the program more and more, you may want to
  631.         occasionally delete the .param files from the Easy_MPEG
  632.         directory.
  633.  
  634.         The program does not automatically delete them, because they
  635.         serve as a record of the parameters used to create a certain
  636.         MPEG file.  This can be useful when experimenting with
  637.         numerous different compression parameters.
  638.  
  639.  
  640.  
  641.  
  642.  
  643. Conclusion: ***************************************************************
  644.  
  645. Well, that's about it, I didn't cover everything in detail, but I think it
  646. should be enough to get most of you going.  If you have problems, contact me
  647. at one of the addresses above.
  648.  
  649. If you would like further technical details on the MPEG compression scheme,
  650. or the particulars of the mpeg_encode program from Berkley, the archives
  651. containing these have been floating around the BBS world for a while.
  652.  
  653. files worth looking for are;
  654.  
  655. Amipeg04.lha        -  MPEG player for AGA/ECS
  656. mp103.lha           -  MPEG player for AGA/ECS
  657. MPEGPLAY_201.lha    -  MPEG player for AGA/ECS
  658. MPEG12.lha          -  Stanford University MPEG encoder
  659. mpeg_enc.lha        -  Berkley University MPEG encoder
  660. BMPEG.lha           -  Stanford Encoder modified for use with Image F/X
  661.  
  662. These are all on the Aminet ( Internet )
  663.  
  664.  
  665.  
  666. Happy MPEGing!...            Scott A. Tribbey 1994
  667.